package com.demo.example.hot100;

import java.util.HashMap;
import java.util.Map;

public class TheSumOfTwoNum {
    public static int[] twoSum(int[] nums,int target){
        int[] res=new int[2];
        for(int i=0;i<nums.length;i++){
            for(int j=i+1;j<nums.length;j++){
                int tmp=nums[i]+nums[j];
                if(tmp==target){
                    res[0]=i;
                    res[1]=j;
                }
            }
        }
        return res;
    }
    //哈希表解法
    //每遍历数组中的一个数，就往前面进行检索，查看是否有与其相加和为target的数
    public static int[] twoSum2(int[] nums,int target){
        Map<Integer,Integer> map=new HashMap<>();
        for(int i=0;i<nums.length;i++){
            if(map.containsKey(target-nums[i])){
                return new int[]{map.get(target-nums[i]),i};
            }
            map.put(nums[i],i);
        }
        return new int[1];
    }
}
